package cn.jesin.css.service;

import cn.jesin.css.entity.Creation;
import cn.jesin.css.vo.CreationInfo;
import cn.jesin.css.vo.Page;

/**
 * @author 谷汉斌
 * @description
 * @createTime 2024/8/21 上午10:01
 */
public interface CreationService {
    /**
     * 添加作品
     *
     * @param creation 作品信息
     * @return 是否添加成功
     */
    boolean addCreation(Creation creation);

    /**
     * 删除作品
     *
     * @param id 作品id
     * @return 是否删除成功
     */
    boolean deleteCreation(Integer id);

    /**
     * 分页返回作品列表
     *
     * @param page     页码
     * @param pageSize 每页数量
     * @param isFinish 是否完结
     * @param type     类型
     * @param keyword  关键词
     * @return 作品列表
     */
    Page<CreationInfo> getCreationList(Integer page, Integer pageSize, Integer isFinish, String type, String keyword);

    /**
     * 更新作品
     *
     * @param creation 作品信息
     * @return 是否更新成功
     */
    boolean updateCreation(Creation creation);

    /**
     * 操作作品
     *
     * @param id        作品id
     * @param operate   操作
     * @param operateType 操作类型
     * @param creation  作品信息
     * @return 是否操作成功
     */
    boolean operate(Integer id, String operate, String operateType,Creation creation);
}
